<template>
  <div>
    <TypeNav/>            <!--三级联动全局组件-->
    <ListContainer/>
    <Recommend/>
    <Rank/>
    <Like/>
    <Floor v-for="(floor, index) in floorList" :key="floor.id" :list="floor"/>
    <Brand/>
  </div>
</template>

<script>
//引入其余的组件
import ListContainer from '@/views/Home/ListContainer/index.vue';
import Recommend from '@/views/Home/Recommend/index.vue';
import Rank from '@/views/Home/Rank/index.vue';
import Like from '@/views/Home/Like/index.vue';
import Floor from '@/views/Home/Floor/index.vue';
import Brand from '@/views/Home/Brand/index.vue';
import {mapState} from 'vuex';

export default {
  name: "Home",
  components: {
    ListContainer,
    Recommend,
    Rank,
    Like,
    Floor,
    Brand
  },
  props: {},
  data() {
    return {}
  },
  //计算属性 类似于data概念
  computed: {
    ...mapState({
      floorList: state => state.home.floorList
    })
  },
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {},
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {
  },
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {
    //派发action，获取floor组件的数据
    this.$store.dispatch("getFloorList")
  },
  //生命周期 - 创建之前
  beforeCreate() {
  },
  //生命周期 - 挂载之前
  beforeMount() {
  },
  //生命周期 - 更新之前
  beforeUpdate() {
  },
  //生命周期 - 更新之后
  updated() {
  },
  //生命周期 - 销毁之前
  beforeDestroy() {
  },
  //生命周期 - 销毁完成
  destroyed() {
  },
  //如果页面有keep-alive缓存功能，这个函数会触发
  activated() {
  }
};
</script>

<style scoped>

</style>
